From 38def5ee3c01847c83b588155bab76ad413fa3ff Mon Sep 17 00:00:00 2001 From: robertl Date: Fri, 18 Jun 2010 15:17:39 +0000 Subject: [PATCH] Eriks Zelenka contributes Garmin XT format. --- Makefile.in | 3 +- garmin_xt.c | 439 +++ reference/track/GARMIN_ATRK.NVM | Bin 0 -> 2312 bytes reference/track/GARMIN_STRK.NVM | Bin 0 -> 11741 bytes reference/track/garmin_xt_atrk.gpx | 671 +++++ reference/track/garmin_xt_atrk.gpx.rej | 674 +++++ reference/track/garmin_xt_strk.gpx | 3852 +++++++++++++++++++++++ reference/track/garmin_xt_strk.gpx.rej | 3855 ++++++++++++++++++++++++ vecs.c | 7 + 9 files changed, 9500 insertions(+), 1 deletion(-) create mode 100644 garmin_xt.c create mode 100644 reference/track/GARMIN_ATRK.NVM create mode 100644 reference/track/GARMIN_STRK.NVM create mode 100644 reference/track/garmin_xt_atrk.gpx create mode 100644 reference/track/garmin_xt_atrk.gpx.rej create mode 100644 reference/track/garmin_xt_strk.gpx create mode 100644 reference/track/garmin_xt_strk.gpx.rej diff --git a/Makefile.in b/Makefile.in index 99f7981b8..53c9eec2d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -65,7 +65,7 @@ ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o pcx.o cetus.o copilot.o \ jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o v900.o delbin.o \ pocketfms_bc.o pocketfms_fp.o pocketfms_wp.o naviguide.o enigma.o \ vpl.o teletype.o jogmap.o bushnell.o bushnell_trl.o wintec_tes.o \ - subrip.o \ + subrip.o garmin_xt.o \ FMTS=@FMTS@ @@ -530,6 +530,7 @@ garmin_txt.o: garmin_txt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h grtcirc.h \ jeeps/gpsmath.h strptime.h +garmin_xt.o: garmin_xt.c defs.h gbfile.o: gbfile.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h gbser.o: gbser.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ diff --git a/garmin_xt.c b/garmin_xt.c new file mode 100644 index 000000000..9fbdf63e0 --- /dev/null +++ b/garmin_xt.c @@ -0,0 +1,439 @@ +/* + + Copyright (C) 2010 Eriks Zelenka, isindir@users.sourceforge.net + Copyright (C) 2009 jekaeff, + GMXT2GPX ( http://www.geocaching.hu/users.geo?id=9508 ; http://sites.google.com/site/jekaeff/eng-1 ) + The original code written in Pascal and does not include specific License, however on the project + webpage it is said to be OpenSource/Libre software + Copyright (C) 2005 Robert Lipe, robertlipe@usa.net + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#include "defs.h" +#include + +#define MYNAME "Garmin_XT" +#define GARMIN_XT_ELE 31500/65536 +#define DATABLOCKSIZE 1 +#define STRK_BLOCK_SIZE 97 + +static int colors[] = { + 0x000000, // Black + 0x00008b, // DarkRed + 0x006400, // DarkGreen + 0x00d7ff, // Gold + 0x8b0000, // DarkBlue + 0x8b008b, // DarkMagenta + 0x8b8b00, // DarkCyan + 0xd3d3d3, // LightGray + 0xa9a9a9, // DarkGray + 0x0000ff, // Red + 0x00ff00, // Green + 0x00ffff, // Yellow + 0xff0000, // Blue + 0xff00ff, // Magenta + 0xffff00, // Cyan + 0xffffff // White +}; + +static gbfile *fin; +static route_head *track; +static char *opt_xt_ftype = NULL; +static char *opt_trk_header = NULL; + +static +arglist_t format_garmin_xt_args[] = { + {"ftype", &opt_xt_ftype, "Garmin Mobile XT ([ATRK]/STRK)", "ATRK", ARGTYPE_STRING | ARGTYPE_REQUIRED, ARG_NOMINMAX}, + // TODO: SHIFT - can't test behaviour, do not have appropriate files + //{"trk_header_opt", &opt_trk_header, "Track name processing option ([0]-nrm/1-ign/2-sht)", "0", ARGTYPE_INT, ARG_NOMINMAX}, + {"trk_header", &opt_trk_header, "Track name processing option ([0]-nrm/1-ign)", "0", ARGTYPE_INT, ARG_NOMINMAX}, + ARG_TERMINATOR +}; + +/******************************************************************************* + * %%% global callbacks called by gpsbabel main process %%% * + *******************************************************************************/ + +/******************************************************************************* + * %%% Reader callbacks %%% * + *******************************************************************************/ +static void +format_garmin_xt_rd_init(const char *fname) +{ + fin = gbfopen(fname, "rb", MYNAME); +} + +static void +format_garmin_xt_rd_deinit(void) +{ + gbfclose(fin); +} + +static uint16_t +format_garmin_xt_rd_st_attrs(char *p_trk_name, unsigned char *p_track_color) +{ + int method = 0; + uint16_t trackbytes = 0, TrackPoints = 0; + unsigned char spam = 0; + int32_t TrackMaxLat = 0, TrackMaxLon = 0, TrackMinLat = 0, TrackMinLon = 0; + char trk_name[30]=""; + // TODO: SHIFT - can't test behaviour, do not have appropriate files + //int ii; + + // get the option for the processing the track name + if ( opt_trk_header ) + { + method = atoi(opt_trk_header); + // if method is out of range set to default + if ((method < 0) || (method > 1)) + { + method = 0; + } + } + // set to RED if not specified + *p_track_color=9; + + gbfread(&trackbytes, 2, DATABLOCKSIZE, fin); + gbfread(&TrackPoints, 2, DATABLOCKSIZE, fin); + + switch (method) + { + case 1: break; // IGNORE + /* TODO: SHIFT - can't test behaviour, do not have appropriate files + case 2: { // SHIFTED method + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&trk_name, 30, DATABLOCKSIZE, fin); + gbfseek(fin, -1, SEEK_CUR); + for (ii = 0; ii<29; ii++) + { + trk_name[ii] = (trk_name[ii] >> 2) + ( trk_name[ii+1] % 4 ) * 64; + } + } + break; + */ + default: { // NORMAL + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&trk_name, 30, DATABLOCKSIZE, fin); + gbfseek(fin, -1, SEEK_CUR); + } + break; + } + gbfread(&spam, 1, DATABLOCKSIZE, fin); + + gbfread(&TrackMaxLat, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMaxLon, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMinLat, 3, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + gbfread(&TrackMinLon, 3, DATABLOCKSIZE, fin); + gbfread(p_track_color, 1, DATABLOCKSIZE, fin); + gbfread(&spam, 1, DATABLOCKSIZE, fin); + + strcpy( p_trk_name, trk_name ); + return trackbytes; +} + +/* + * Function to decrypt track block in saved read from saved tracks file + */ +static void +format_garmin_xt_decrypt_trk_blk(int Count, unsigned char TrackBlock[]) +{ + unsigned char i,j = 12; + while (j<(Count-1)) + { + for ( i = j; i < Count; i++) + { + TrackBlock[i] = TrackBlock[i] >> 1; + if (i<(Count)) + { + TrackBlock[i] = TrackBlock[i] + (TrackBlock[i+1] % 2) * 128; + } + } + j+=12; + } +} + +/* + * Function to Decompose track block of STRK_BLOCK_SIZE bytes + */ +static void +format_garmin_xt_decomp_trk_blk(unsigned char ii, unsigned char TrackBlock[], double *Ele, double *Lat, double *Lon, uint32_t *Time) +{ + uint32_t LatLW = 0, LonLW = 0, TimeLW = 0; + double LatF = 0, LonF = 0; + uint16_t PrevEleW; + + //printf("%d %d %d %d %d %d\n", TrackBlock[0], TrackBlock[1], TrackBlock[2], TrackBlock[3], TrackBlock[4], TrackBlock[5]); + PrevEleW = TrackBlock[ ( ii - 1 ) * 12 + 1 ]; + PrevEleW = PrevEleW << 8; + PrevEleW = PrevEleW + TrackBlock[ ( ii - 1 ) * 12 ]; + *Ele = (double)PrevEleW * GARMIN_XT_ELE - 1500; + + LatLW = TrackBlock[(ii - 1) * 12 + 4]; + LatLW = LatLW << 8; + LatLW = LatLW + TrackBlock[(ii - 1) * 12 + 3]; + LatLW = LatLW << 8; + LatLW = LatLW + TrackBlock[(ii - 1) * 12 + 2]; + LatF = (double)LatLW; + if (LatF > 8388608) + { + LatF = LatF - 16777216; + } + *Lat = LatF * 360 / 16777216; + + LonLW = TrackBlock[(ii-1)*12+7]; + LonLW = LonLW << 8; + LonLW = LonLW+TrackBlock[(ii-1)*12+6]; + LonLW = LonLW << 8; + LonLW = LonLW+TrackBlock[(ii-1)*12+5]; + LonF = (double)LonLW; + if (LonF>8388608) + { + LonF = LonF - 16777216; + } + *Lon = LonF * 360 / 16777216; + + TimeLW = TrackBlock[(ii - 1) * 12 + 11]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW+TrackBlock[(ii - 1) * 12 + 10]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW+TrackBlock[(ii - 1) * 12 + 9]; + TimeLW = TimeLW << 8; + TimeLW = TimeLW + TrackBlock[(ii - 1) * 12 + 8]; + *Time = TimeLW + 631065600; +} + +/* + * Decompose Last Waypoint Eleveation + */ +static void +format_garmin_xt_decomp_last_ele(unsigned char ii, double *PrevEle, unsigned char TrackBlock[]) +{ + uint16_t PrevEleW; + + PrevEleW = TrackBlock[ii - 1]; + PrevEleW = PrevEleW << 8; + PrevEleW = PrevEleW + TrackBlock[ii - 2]; + *PrevEle = (double)PrevEleW * GARMIN_XT_ELE - 1500; +} + +/* + * Main Function to process Saved tracks file + */ +static void +format_garmin_xt_proc_strk(void) +{ + int Count = 0; // Used to obtain number of read bytes + int NumberOfTracks = 0, TracksCompleted = 0; // Number of tracks in the file and number of processed tracks + uint16_t trackbytes = 0; // Bytes in track + unsigned char TrackBlock[STRK_BLOCK_SIZE]; // File Block + unsigned char ii; // temp variable + double Lat = 0, Lon = 0; // wpt data + double PrevLat = 0, PrevLon = 0, PrevEle = 0; // wpt data + uint32_t Time = 0, PrevTime =0; // wpt data + int FirstCoo; + unsigned char trk_color = 0xff; + + // Skip 12 bytes from the BOF + gbfseek(fin, 12, SEEK_SET); + + // read # of tracks + gbfread(&NumberOfTracks, 2, DATABLOCKSIZE, fin); + + // Skip 2 bytes + gbfseek(fin, 2, SEEK_CUR); + + // Process all tracks one by one + while ((TracksCompleted < NumberOfTracks) && (!gbfeof( fin ) ) ) + { + route_head *tmp_track; + waypoint *wpt; + char *trk_name; + trk_name = xmalloc(30); + + // Generate Track Header + trackbytes = format_garmin_xt_rd_st_attrs(trk_name, &trk_color) - 50; + + tmp_track = route_head_alloc(); + // update track color + tmp_track->line_color.bbggrr = colors[trk_color]; + tmp_track->line_color.opacity = 255; + // update track name + tmp_track->rte_name = trk_name; + track_add_head(tmp_track); + + // This is the 1st coordinate of the track + FirstCoo = TRUE; + while (trackbytes>0) + { + if (trackbytes>=STRK_BLOCK_SIZE) + { + Count = gbfread(&TrackBlock, DATABLOCKSIZE, STRK_BLOCK_SIZE, fin); + trackbytes -= STRK_BLOCK_SIZE; + } + else + { + Count = gbfread(&TrackBlock, DATABLOCKSIZE, trackbytes, fin); + trackbytes = 0; + } + + // decrypt loaded track block (Count - size of loaded TrackBlock) + format_garmin_xt_decrypt_trk_blk(Count, TrackBlock); + + // process each track point in the loaded TrackBlock + for (ii=1; ii <= ((Count-1) / 12); ii++) + { + // decompose loaded track block part (track point) + format_garmin_xt_decomp_trk_blk(ii, TrackBlock, &PrevEle, &Lat, &Lon, &Time); + + // Add point to the track if not the first point + if (!FirstCoo) + { + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = PrevLat; /* Degrees */ + wpt->longitude = PrevLon; /* Degrees */ + wpt->altitude = PrevEle; /* Meters. */ + wpt->creation_time = Time; /* Unix Time adjusted to Garmin time */ + + // add way point to the track + track_add_wpt(tmp_track, wpt); + } + else + { + FirstCoo = FALSE; + } + PrevLat = Lat; + PrevLon = Lon; + PrevTime = Time; + } + } + + // decompose elevation for the last point + if (Count > 12) + { + Count--; + } + format_garmin_xt_decomp_last_ele(Count, &PrevEle, TrackBlock); + + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = PrevLat; /* Degrees */ + wpt->longitude = PrevLon; /* Degrees */ + wpt->altitude = PrevEle; /* Meters. */ + wpt->creation_time = Time; /* Unix Time adjusted to Garmin time */ + + // add way point to the track + track_add_wpt(tmp_track, wpt); + + // update completed tracks counter + TracksCompleted++; + } +} + +static void +format_garmin_xt_proc_atrk(void) +{ + uint16_t block=0, uu=0; + uint32_t Lat=0, Lon=0; + uint32_t Tim=0; + double LatF = 0, LonF = 0, AltF = 0; + waypoint *wpt; + int method = 0; + + // get the option for the processing the track name + if ( opt_trk_header ) + { + method = atoi(opt_trk_header); + } + + if (! track) { + track = route_head_alloc(); + // header option was not set to ignore + if ( method !=1 ) + { + track->rte_name = xstrdup("ATRK XT"); + } + track_add_head(track); + } + + // Skip 18 bytes + gbfseek(fin, 18, SEEK_SET); + while (!gbfeof( fin ) ) { + gbfread(&Lat, 3, DATABLOCKSIZE, fin); //1. Lat + gbfread(&Lon, 3, DATABLOCKSIZE, fin); //2. Lon + gbfread(&uu, 2, DATABLOCKSIZE, fin); //3. Ele + gbfread(&Tim, 4, DATABLOCKSIZE, fin); //4. Garmin Time + gbfread(&block, 2, DATABLOCKSIZE, fin); //0. ?Record delimiter? + + Tim += 631065600; // adjustment to UnixTime + LatF = Lat; + if (LatF>8388608) {LatF -= 16777216;}; + LonF = Lon; + if (LonF>8388608) {LonF -= 16777216;}; + AltF = (double)uu * GARMIN_XT_ELE - 1500; + + //create new waypoint + wpt = waypt_new(); + + //populate wpt; + wpt->latitude = LatF*180/16777216; /* Degrees */ + wpt->longitude = LonF*360/16777216; /* Degrees */ + wpt->altitude = AltF; /* Meters. */ + wpt->creation_time = Tim; /* Unix Time adjusted to Garmin time */ + + track_add_wpt(track, wpt); + } +} + +static void +format_garmin_xt_read(void) +{ + // Saved Tracks file + if ( strcmp(opt_xt_ftype, "STRK") == 0 ) + format_garmin_xt_proc_strk(); + else // Active Track file + format_garmin_xt_proc_atrk(); +} + +/**************************************************************************/ + +ff_vecs_t format_garmin_xt_vecs = { + ff_type_file, + { + ff_cap_none /* waypoints */, + ff_cap_read /* tracks */, + ff_cap_none /* routes */ + }, + format_garmin_xt_rd_init, + NULL, + format_garmin_xt_rd_deinit, + NULL, + format_garmin_xt_read, + NULL, + NULL, + format_garmin_xt_args, + CET_CHARSET_ASCII, 0 /* ascii is the expected character set */ + /* not fixed, can be changed through command line parameter */ +}; +/**************************************************************************/ diff --git a/reference/track/GARMIN_ATRK.NVM b/reference/track/GARMIN_ATRK.NVM new file mode 100644 index 0000000000000000000000000000000000000000..4d8ddc526ffd4154f5154579a6d8aa7459c00d84 GIT binary patch literal 2312 zcmY+_X>3(h5C`x_rEE@WMJbC=gYVpXq5&6z1Q87q6$TYBcXEpry_h8DV<5|dd}4t?!% z_n6F~{jF31Eq1wQOg^WBElQ2a7gW`vUNMZ5tD)m5m!<~^Zg(lzK= z&AUTcNB=@&5zC?`XuRe>L&>6M=pC%Go&@?p^ZrnNpf;s;ejh_QlmN}ZnmN=Knya}a zlnvA#O4pnhN)B~|7HeK-V|PN!H7~UyXqD!4t0X8(^QTsKK{=YIgz_ULLz^^Du(8fi zuI6!8_dr`TziKn@h4M8Ap=_cqP@(2gq5MQ$p*jNwfpyr3HdOOm;3`9@&Y>;svToeNBt`ax5IRW2t7vXx$j z%3SUcND+C^c9+{)1yGU8305JL?{dT{24%Y3>`O6?fy~=~%jy+qn#(tR*+yfbi7sFF zrG(O;H1if)je|zIe8HDL=nZI)%crg0gdTPIlrM353rcml-j`CE0CjS?&X+Qp2%UHM zm~Xy{??N>W*Z8uFCP8HmSNgJ(CPT$goIZr|9j>rDd<11X9QS2AO@&rDTl|l&$!XeJ&TuR9tSA2dz=O$LeQjmEv8V9HgyKhT@%8MbJXUrJgz2 zuh3_TcX)D`wn0;%N-BZgQylk9ecPcl#U-9pQylUY|K>>zl|nBnF81Uol|jRyI@$*f zRb1prJsp4sDlYV-feu3tD=x6Af?UP%PBeowNsqvo6Pf2Q`D+~E<$Ic+}1Z| zxeOhJ>gX!82br~W4T?j@=?1hV%I$p9mzz*#l-pZ1L5q=jgl@G`Gc-GDZ%+*gG(E}* eR*{|d|Mxo9tfWN9k8($Q&pJROquj}=qtX8@!hvl7 literal 0 HcmV?d00001 diff --git a/reference/track/GARMIN_STRK.NVM b/reference/track/GARMIN_STRK.NVM new file mode 100644 index 0000000000000000000000000000000000000000..a9c241ac3bfcfee1c0e3ee07bc8cb6297b4d61ce GIT binary patch literal 11741 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 A)&Kwi literal 0 HcmV?d00001 diff --git a/reference/track/garmin_xt_atrk.gpx b/reference/track/garmin_xt_atrk.gpx new file mode 100644 index 000000000..933b0eae8 --- /dev/null +++ b/reference/track/garmin_xt_atrk.gpx @@ -0,0 +1,671 @@ + + + + + + ATRK XT + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + + diff --git a/reference/track/garmin_xt_atrk.gpx.rej b/reference/track/garmin_xt_atrk.gpx.rej new file mode 100644 index 000000000..3666b98ee --- /dev/null +++ b/reference/track/garmin_xt_atrk.gpx.rej @@ -0,0 +1,674 @@ +*************** +*** 0 **** +--- 1,671 ---- ++ ++ ++ ++ ++ ++ ATRK XT ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ ++ diff --git a/reference/track/garmin_xt_strk.gpx b/reference/track/garmin_xt_strk.gpx new file mode 100644 index 000000000..35c4012a9 --- /dev/null +++ b/reference/track/garmin_xt_strk.gpx @@ -0,0 +1,3852 @@ + + + + + + 01234567890123456789012345678 + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + + + 2 tracks + + + 74.134827 + + + + 70.770264 + + + + 61.637878 + + + + 61.637878 + + + + 40.489197 + + + + 40.489197 + + + + 41.450500 + + + + 41.450500 + + + + 42.411804 + + + + 43.373108 + + + + 43.853760 + + + + 44.815063 + + + + 45.295715 + + + + 46.257019 + + + + 47.218323 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 51.063538 + + + + 51.544189 + + + + 52.505493 + + + + 52.986145 + + + + 52.986145 + + + + 53.947449 + + + + 53.947449 + + + + 54.908752 + + + + 54.908752 + + + + 55.389404 + + + + 55.870056 + + + + 56.350708 + + + + 56.350708 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.273315 + + + + 58.753967 + + + + 58.273315 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 58.753967 + + + + 58.753967 + + + + 59.234619 + + + + 60.195923 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 59.715271 + + + + 60.195923 + + + + 61.637878 + + + + 61.637878 + + + + 61.157227 + + + + 61.157227 + + + + 61.157227 + + + + 60.195923 + + + + 58.273315 + + + + 57.312012 + + + + 56.350708 + + + + 56.350708 + + + + 54.908752 + + + + 55.389404 + + + + 56.831360 + + + + 57.792664 + + + + 58.273315 + + + + 58.753967 + + + + 59.715271 + + + + 60.195923 + + + + 60.195923 + + + + 60.676575 + + + + 61.157227 + + + + 61.157227 + + + + 61.637878 + + + + 62.599182 + + + + 63.079834 + + + + 64.041138 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 71.731567 + + + + 72.692871 + + + + 74.134827 + + + + 73.654175 + + + + 72.212219 + + + + 70.770264 + + + + 70.770264 + + + + 69.808960 + + + + 68.847656 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 71.250916 + + + + 72.692871 + + + + 73.654175 + + + + 76.057434 + + + + 77.980042 + + + + 78.941345 + + + + 79.902649 + + + + 79.902649 + + + + 80.383301 + + + + 80.383301 + + + + 79.902649 + + + + 78.941345 + + + + 77.980042 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 77.018738 + + + + 77.499390 + + + + 77.499390 + + + + 77.499390 + + + + 78.460693 + + + + 78.460693 + + + + 78.941345 + + + + 79.421997 + + + + 79.902649 + + + + 80.383301 + + + + 80.863953 + + + + 81.344604 + + + + 82.305908 + + + + 84.709167 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 86.151123 + + + + 86.151123 + + + + 86.631775 + + + + 87.112427 + + + + 88.073730 + + + + 87.593079 + + + + 87.112427 + + + + 86.151123 + + + + 85.670471 + + + + 84.709167 + + + + 84.228516 + + + + 83.267212 + + + + 82.305908 + + + + 82.305908 + + + + 81.825256 + + + + 81.825256 + + + + 81.344604 + + + + 81.344604 + + + + 79.902649 + + + + 78.941345 + + + + 78.941345 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 72.212219 + + + + 71.250916 + + + + 71.731567 + + + + 71.250916 + + + + 71.731567 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 73.173523 + + + + 73.173523 + + + + 73.654175 + + + + 74.134827 + + + + 74.615479 + + + + 74.615479 + + + + 73.173523 + + + + 72.692871 + + + + 73.173523 + + + + 72.692871 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 72.692871 + + + + 72.692871 + + + + 72.212219 + + + + 72.212219 + + + + 72.212219 + + + + 71.250916 + + + + 70.289612 + + + + 70.770264 + + + + 70.289612 + + + + 70.289612 + + + + 69.328308 + + + + 68.847656 + + + + 68.367004 + + + + 67.886353 + + + + 67.886353 + + + + 67.886353 + + + + 68.367004 + + + + 68.847656 + + + + 69.328308 + + + + 69.328308 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.770264 + + + + 70.770264 + + + + 72.212219 + + + + 72.692871 + + + + 73.654175 + + + + 73.173523 + + + + 74.134827 + + + + 75.096130 + + + + 75.576782 + + + + 75.576782 + + + + 75.576782 + + + + 75.096130 + + + + 74.615479 + + + + 75.096130 + + + + 74.615479 + + + + 75.096130 + + + + 74.615479 + + + + 74.615479 + + + + 73.654175 + + + + 73.173523 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 72.212219 + + + + 72.692871 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 72.212219 + + + + 71.250916 + + + + 70.289612 + + + + 70.770264 + + + + 71.250916 + + + + 71.250916 + + + + 71.731567 + + + + 71.731567 + + + + 70.289612 + + + + 69.328308 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 67.886353 + + + + 66.925049 + + + + 66.444397 + + + + 66.925049 + + + + 66.925049 + + + + 67.405701 + + + + 67.886353 + + + + 68.367004 + + + + 68.367004 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 68.367004 + + + + 67.886353 + + + + 68.847656 + + + + 69.808960 + + + + 69.808960 + + + + 70.770264 + + + + 70.289612 + + + + 70.770264 + + + + 71.250916 + + + + 71.731567 + + + + 72.212219 + + + + 73.173523 + + + + 73.173523 + + + + 73.654175 + + + + 74.615479 + + + + 74.615479 + + + + 74.134827 + + + + 74.615479 + + + + 74.615479 + + + + 74.615479 + + + + 74.615479 + + + + 75.096130 + + + + 75.576782 + + + + 75.576782 + + + + 74.615479 + + + + 74.615479 + + + + 74.134827 + + + + 73.654175 + + + + 73.654175 + + + + 73.654175 + + + + 77.499390 + + + + 77.499390 + + + + 77.018738 + + + + 76.538086 + + + + 76.057434 + + + + 75.576782 + + + + 75.096130 + + + + 75.096130 + + + + 74.615479 + + + + 73.173523 + + + + 73.173523 + + + + 72.692871 + + + + 71.731567 + + + + 70.770264 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.847656 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 69.808960 + + + + 69.808960 + + + + 69.808960 + + + + 70.770264 + + + + 70.770264 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.770264 + + + + 70.289612 + + + + 70.289612 + + + + 70.289612 + + + + 70.770264 + + + + 70.289612 + + + + 69.328308 + + + + 67.405701 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 65.963745 + + + + 65.483093 + + + + 65.483093 + + + + 65.002441 + + + + 65.002441 + + + + 65.483093 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.963745 + + + + 65.483093 + + + + 65.002441 + + + + 64.041138 + + + + 64.521790 + + + + 65.002441 + + + + 65.002441 + + + + 65.002441 + + + + 65.483093 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 66.925049 + + + + 68.367004 + + + + 67.886353 + + + + 66.925049 + + + + 65.483093 + + + + 64.521790 + + + + 64.041138 + + + + 63.079834 + + + + 62.118530 + + + + 62.118530 + + + + 61.637878 + + + + 61.157227 + + + + 60.195923 + + + + 59.234619 + + + + 57.792664 + + + + 57.312012 + + + + 55.870056 + + + + 54.428101 + + + + 53.947449 + + + + 52.986145 + + + + 51.063538 + + + + 50.102234 + + + + 50.582886 + + + + 49.140930 + + + + 47.218323 + + + + 46.257019 + + + + 44.815063 + + + + 44.815063 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 44.815063 + + + + 44.815063 + + + + 44.815063 + + + + 45.295715 + + + + 45.295715 + + + + 45.295715 + + + + 46.257019 + + + + 46.257019 + + + + 46.257019 + + + + 47.218323 + + + + 46.737671 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 48.179626 + + + + 48.179626 + + + + 47.698975 + + + + 47.698975 + + + + 48.179626 + + + + 48.660278 + + + + 50.582886 + + + + 52.024841 + + + + 53.466797 + + + + 53.947449 + + + + 53.947449 + + + + 53.947449 + + + + 64.521790 + + + + 64.041138 + + + + 62.118530 + + + + 61.637878 + + + + 60.676575 + + + + 63.079834 + + + + 64.041138 + + + + 63.560486 + + + + 62.118530 + + + + 59.234619 + + + + 57.792664 + + + + 57.792664 + + + + 51.544189 + + + + 51.544189 + + + + 50.582886 + + + + 49.621582 + + + + 49.621582 + + + + 50.102234 + + + + 49.621582 + + + + 49.140930 + + + + 48.179626 + + + + 48.179626 + + + + 47.698975 + + + + 47.698975 + + + + 47.218323 + + + + 47.698975 + + + + 48.179626 + + + + 51.063538 + + + + 52.505493 + + + + 53.947449 + + + + 52.505493 + + + + 52.024841 + + + + 52.505493 + + + + 54.908752 + + + + 56.831360 + + + + 58.753967 + + + + 63.079834 + + + + 69.328308 + + + + 69.328308 + + + + 114.509583 + + + + 103.454590 + + + + 103.454590 + + + + 92.880249 + + + + 92.880249 + + + + 92.880249 + + + + 85.189819 + + + + 83.267212 + + + + 79.902649 + + + + 76.057434 + + + + 73.654175 + + + + 71.250916 + + + + 71.250916 + + + + 70.289612 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.328308 + + + + 69.328308 + + + + 85.670471 + + + + 87.112427 + + + + 87.112427 + + + + 87.112427 + + + + 86.151123 + + + + 86.151123 + + + + 85.189819 + + + + 82.305908 + + + + 81.825256 + + + + 80.383301 + + + + 79.902649 + + + + 79.902649 + + + + 79.902649 + + + + 66.925049 + + + + 66.444397 + + + + 66.444397 + + + + 66.444397 + + + + 54.428101 + + + + 53.466797 + + + + 52.505493 + + + + 53.466797 + + + + 52.505493 + + + + 50.582886 + + + + 49.621582 + + + + 49.621582 + + + + 48.179626 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 59.234619 + + + + 58.753967 + + + + 58.273315 + + + + 58.273315 + + + + 53.466797 + + + + 53.947449 + + + + 58.273315 + + + + 59.715271 + + + + 59.715271 + + + + 79.902649 + + + + 76.057434 + + + + 70.770264 + + + + 68.367004 + + + + 65.963745 + + + + 63.560486 + + + + 64.041138 + + + + 64.041138 + + + + 59.234619 + + + + 56.831360 + + + + 52.986145 + + + + 51.544189 + + + + 51.544189 + + + + 52.024841 + + + + 52.986145 + + + + 53.466797 + + + + 52.505493 + + + + 50.582886 + + + + 48.660278 + + + + 47.698975 + + + + 46.737671 + + + + 45.776367 + + + + 45.776367 + + + + 46.257019 + + + + 48.179626 + + + + 49.140930 + + + + 50.582886 + + + + 54.428101 + + + + 52.986145 + + + + 51.063538 + + + + 51.063538 + + + + 51.544189 + + + + 49.140930 + + + + 44.815063 + + + + 44.815063 + + + + 45.776367 + + + + 47.218323 + + + + 47.698975 + + + + 47.698975 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 49.621582 + + + + 49.140930 + + + + 50.102234 + + + + 50.582886 + + + + 50.582886 + + + + 50.102234 + + + + 50.102234 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 49.140930 + + + + 55.870056 + + + + 55.389404 + + + + 55.389404 + + + + 54.908752 + + + + 54.908752 + + + + 53.947449 + + + + 53.466797 + + + + 53.466797 + + + + 54.428101 + + + + 54.428101 + + + + 51.544189 + + + + 50.582886 + + + + 47.218323 + + + + 46.257019 + + + + 44.815063 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 42.892456 + + + + 42.892456 + + + + 44.815063 + + + + 50.102234 + + + + 51.544189 + + + + 52.505493 + + + + 56.831360 + + + + 58.273315 + + + + 59.715271 + + + + 60.676575 + + + + 60.676575 + + + + 60.195923 + + + + 60.195923 + + + + 58.273315 + + + + 57.792664 + + + + 56.831360 + + + + 55.870056 + + + + 54.908752 + + + + 52.986145 + + + + 51.544189 + + + + 49.140930 + + + + 47.698975 + + + + 47.218323 + + + + 49.140930 + + + + 50.582886 + + + + 51.544189 + + + + 50.102234 + + + + 48.179626 + + + + 42.892456 + + + + 42.892456 + + + + 43.853760 + + + + 45.295715 + + + + 47.218323 + + + + 47.218323 + + + + 47.218323 + + + + 46.737671 + + + + 45.776367 + + + + 44.815063 + + + + 44.334412 + + + + 43.853760 + + + + 43.373108 + + + + 43.373108 + + + + 42.892456 + + + + 42.892456 + + + + 43.373108 + + + + 42.411804 + + + + 40.969849 + + + + 40.489197 + + + + 40.489197 + + + + 39.527893 + + + + 39.047241 + + + + 38.085938 + + + + 38.566589 + + + + 39.047241 + + + + 39.047241 + + + + 37.605286 + + + + 37.605286 + + + + 39.047241 + + + + 38.566589 + + + + 38.566589 + + + + 39.047241 + + + + 39.527893 + + + + 40.489197 + + + + 41.450500 + + + + 41.931152 + + + + 42.411804 + + + + 41.931152 + + + + 41.450500 + + + + 40.489197 + + + + 41.450500 + + + + 43.853760 + + + + 43.853760 + + + + 43.373108 + + + + 42.892456 + + + + 42.411804 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 43.373108 + + + + 41.931152 + + + + 41.931152 + + + + 42.411804 + + + + 42.411804 + + + + 42.892456 + + + + 43.373108 + + + + 43.853760 + + + + 45.295715 + + + + 46.737671 + + + + 47.698975 + + + + 47.698975 + + + + 47.698975 + + + + 49.140930 + + + + 49.140930 + + + + 48.660278 + + + + 50.582886 + + + + 51.544189 + + + + 51.544189 + + + + 51.544189 + + + + 52.505493 + + + + 53.947449 + + + + 55.870056 + + + + 57.792664 + + + + 58.273315 + + + + 60.195923 + + + + 61.157227 + + + + 63.079834 + + + + 65.002441 + + + + 65.002441 + + + + 67.405701 + + + + 68.847656 + + + + 68.847656 + + + + 69.328308 + + + + 69.808960 + + + + 70.770264 + + + + 70.770264 + + + + 71.731567 + + + + 72.212219 + + + + 71.250916 + + + + 69.808960 + + + + 69.808960 + + + + 68.847656 + + + + 67.886353 + + + + 66.925049 + + + + 65.002441 + + + + 65.002441 + + + + 64.041138 + + + + 65.483093 + + + + 65.483093 + + + + 65.963745 + + + + 66.444397 + + + + 66.444397 + + + + 66.925049 + + + + 67.886353 + + + + 68.367004 + + + + 68.367004 + + + + 68.367004 + + + + 69.328308 + + + + 69.328308 + + + + 70.770264 + + + + 72.692871 + + + + 71.731567 + + + + 68.367004 + + + + 68.847656 + + + + 68.367004 + + + + 69.808960 + + + + 71.731567 + + + + 73.173523 + + + + 73.654175 + + + + 75.576782 + + + + 76.057434 + + + + 76.538086 + + + + 77.018738 + + + + 77.980042 + + + + 80.383301 + + + + 80.383301 + + + + 81.825256 + + + + 82.305908 + + + + 82.786560 + + + + 82.786560 + + + + 84.228516 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 84.228516 + + + + 84.228516 + + + + 83.747864 + + + + 84.709167 + + + + 85.189819 + + + + 86.151123 + + + + 85.670471 + + + + 85.670471 + + + + 84.709167 + + + + 84.709167 + + + + 83.747864 + + + + 83.747864 + + + + 83.747864 + + + + 83.747864 + + + + 83.267212 + + + + 83.267212 + + + + 83.747864 + + + + 84.228516 + + + + 84.709167 + + + + 84.709167 + + + + 84.709167 + + + + 85.189819 + + + + 85.189819 + + + + 84.709167 + + + + 84.709167 + + + + 84.228516 + + + + 84.228516 + + + + 83.267212 + + + + 82.786560 + + + + 83.267212 + + + + + diff --git a/reference/track/garmin_xt_strk.gpx.rej b/reference/track/garmin_xt_strk.gpx.rej new file mode 100644 index 000000000..f0f797fe7 --- /dev/null +++ b/reference/track/garmin_xt_strk.gpx.rej @@ -0,0 +1,3855 @@ +*************** +*** 0 **** +--- 1,3852 ---- ++ ++ ++ ++ ++ ++ 01234567890123456789012345678 ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ ++ ++ 2 tracks ++ ++ ++ 74.134827 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 56.350708 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 62.599182 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.460693 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 79.421997 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.863953 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.631775 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 88.073730 ++ ++ ++ ++ 87.593079 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 81.344604 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 78.941345 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 74.134827 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.499390 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 75.096130 ++ ++ ++ ++ 74.615479 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 57.312012 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 64.521790 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 61.637878 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 63.560486 ++ ++ ++ ++ 62.118530 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 114.509583 ++ ++ ++ ++ 103.454590 ++ ++ ++ ++ 103.454590 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 92.880249 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 70.289612 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 87.112427 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 58.753967 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 79.902649 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 63.560486 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 59.234619 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.024841 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.063538 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.621582 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 55.389404 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 53.466797 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 54.428101 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.257019 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 59.715271 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.676575 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 56.831360 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 54.908752 ++ ++ ++ ++ 52.986145 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 50.102234 ++ ++ ++ ++ 48.179626 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 47.218323 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 45.776367 ++ ++ ++ ++ 44.815063 ++ ++ ++ ++ 44.334412 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 40.969849 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 39.527893 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 38.085938 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 37.605286 ++ ++ ++ ++ 37.605286 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 38.566589 ++ ++ ++ ++ 39.047241 ++ ++ ++ ++ 39.527893 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 40.489197 ++ ++ ++ ++ 41.450500 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 41.931152 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 42.411804 ++ ++ ++ ++ 42.892456 ++ ++ ++ ++ 43.373108 ++ ++ ++ ++ 43.853760 ++ ++ ++ ++ 45.295715 ++ ++ ++ ++ 46.737671 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 47.698975 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 49.140930 ++ ++ ++ ++ 48.660278 ++ ++ ++ ++ 50.582886 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 51.544189 ++ ++ ++ ++ 52.505493 ++ ++ ++ ++ 53.947449 ++ ++ ++ ++ 55.870056 ++ ++ ++ ++ 57.792664 ++ ++ ++ ++ 58.273315 ++ ++ ++ ++ 60.195923 ++ ++ ++ ++ 61.157227 ++ ++ ++ ++ 63.079834 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 67.405701 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 72.212219 ++ ++ ++ ++ 71.250916 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 65.002441 ++ ++ ++ ++ 64.041138 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.483093 ++ ++ ++ ++ 65.963745 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.444397 ++ ++ ++ ++ 66.925049 ++ ++ ++ ++ 67.886353 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 69.328308 ++ ++ ++ ++ 70.770264 ++ ++ ++ ++ 72.692871 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 68.847656 ++ ++ ++ ++ 68.367004 ++ ++ ++ ++ 69.808960 ++ ++ ++ ++ 71.731567 ++ ++ ++ ++ 73.173523 ++ ++ ++ ++ 73.654175 ++ ++ ++ ++ 75.576782 ++ ++ ++ ++ 76.057434 ++ ++ ++ ++ 76.538086 ++ ++ ++ ++ 77.018738 ++ ++ ++ ++ 77.980042 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 80.383301 ++ ++ ++ ++ 81.825256 ++ ++ ++ ++ 82.305908 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 86.151123 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 85.670471 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 83.747864 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 85.189819 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.709167 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 84.228516 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ 82.786560 ++ ++ ++ ++ 83.267212 ++ ++ ++ ++ ++ diff --git a/vecs.c b/vecs.c index b14d429a0..0555dbd27 100644 --- a/vecs.c +++ b/vecs.c @@ -171,6 +171,7 @@ extern ff_vecs_t vpl_vecs; extern ff_vecs_t teletype_vecs; extern ff_vecs_t jogmap_vecs; extern ff_vecs_t wintec_tes_vecs; +extern ff_vecs_t format_garmin_xt_vecs; static vecs_t vec_list[] = { @@ -1011,6 +1012,12 @@ vecs_t vec_list[] = { "Wintec TES file", "tes" }, + { + &format_garmin_xt_vecs, + "garmin_xt", + "Mobile Garmin XT Track files", + NULL + }, #endif // MAXIMAL_ENABLED { NULL, -- 2.30.2